home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / WORDMISC / EASYRITE.LZH / EASYRITE.BAS < prev    next >
BASIC Source File  |  1985-01-15  |  43KB  |  501 lines

  1. 10 CLS:REM EASYRITE -- A FULLY FORMATED WORD/MEMO PROCESSING SYSTEM FOR THE IBM
  2. 30 REM VERSION 1.5 -- REVISED 05/10/84
  3. 40 REM WRITTEN BY BRUNO M. LARSEN, SUN CITY AZ FOR G I N A C O (C) 1984
  4. 50 REM =====  INITIALIZATION ROUTINE =====
  5. 60 CLEAR:SCREEN 0,0,0:COLOR 7,0:WIDTH 80:KEY OFF:FOR KK=1 TO 10:KEY KK,"":NEXT KK:DIM MM$(30),TT$(20),MN$(30):DIM A$(200),INPTR$(200),FIN$(200),FILE$(200),P1%(200):REM =====  BOX PARAMETER DEFINITION  =====
  6. 170 TLC$=CHR$(201):TLC2$=CHR$(218):TLC3$=CHR$(178):TRC$=CHR$(187):TRC2$=CHR$(191):TRC3$=CHR$(178):HL$=CHR$(205):HL2$=CHR$(196):HL3$=CHR$(178):BLC$=CHR$(200):BLC2$=CHR$(192):BLC3$=CHR$(178):BRC$=CHR$(188):BRC2$=CHR$(217):BRC3$=CHR$(178)
  7. 220 VL$=CHR$(186):VL2$=CHR$(179):VL3$=CHR$(178):PR$=" ###":PR2$=" ║###  \                                                                       \":FILLSTR2$="··································································░■■■ ║":DEF SEG:POKE 91,25
  8. 280 POKE 92,25:LOCATE 1,1,0,12,13:A$="":LN=0:NL=0:FIN$="":LC=0:INTPR$="":DEFINT A-Z:I=0:P=1:FINLEN=0:P=1:IN$="":ON ERROR GOTO 5010
  9. 430 CLS:KEY OFF:BB$=TIME$:REM =====  INITIAL MASTHEAD DISPLAY  =====
  10. 470 GOSUB 2470:COLOR 15,0:LOCATE 9,30:PRINT"EasyRite Processor - 1.5":LOCATE 11,40:PRINT"(c)":COLOR 7,0:LOCATE 15,30:PRINT"User Supported Software":LOCATE 16,30:PRINT"~~~~ ~~~~~~~~~ ~~~~~~~~":LOCATE 17,24:PRINT"Developed by G I N A C O  --  1984
  11. 530 LOCATE 18,23:PRINT"          Sun City, Arizona ":REM =====  DO YOU NEED INSTRUCTIONS QUERY  =====
  12. 550 COLOR 15:LOCATE 22,26,0:PRINT"DO YOU NEED INSTRUCTIONS? (Y/N)":COLOR 7,0:GOSUB 6590:IF YN=1 THEN 620
  13. 610 IF YN=2 THEN 3990
  14. 620 REM =====  FIRST PAGE OF INSTRUCTIONS  =====
  15. 630 CLS:KEY OFF:SCREEN 0,0,0:WIDTH 80:FOR KK!=1 TO 10:KEY KK!,"":NEXT:DEF SEG:POKE 91,25:POKE 92,25:KEY 6,CHR$(124):KEY 2,CHR$(127):GOSUB 2120:GOSUB 3090:FOR MM!=1 TO 4:LOCATE MM!,9:PRINT MM$(MM!)
  16. 790 MM$(2)="      E a s y R i t e:   A basic Word Processing System":MM$(3)="Developed and Compiled for use on the IBM-PC (DOS 1.1 or 2.0)":MM$(4)="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~":NEXT MM!
  17. 830 COLOR 15:LOCATE 5,9:PRINT"CAUTION:   Exit EasyRite through the CONTROL or PRINT Menu ONLY!";:LOCATE 6,10:PRINT"  Using Ctrl-Break will exit without CURSOR & SCROLL control
  18. 850 LOCATE 7,10:PRINT"  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";:COLOR 7,0
  19. 860 LOCATE 8,10:PRINT"  When prompted to ";:COLOR 15:PRINT"<PRESS>,";:COLOR 7:PRINT" the ";:COLOR 15:PRINT" ENTER (C/R) ";:COLOR 7:PRINT"key ";:COLOR 15:PRINT"IS NOT ";:COLOR 7:PRINT"used";
  20. 870 LOCATE 9,10:PRINT"    When prompted to ";:COLOR 15:PRINT"<ENTER>,";:COLOR 7:PRINT" the";:COLOR 15:PRINT" ENTER (C/R) ";:COLOR 7:PRINT"key ";:COLOR 15:PRINT"IS";:COLOR 7:PRINT" used!";:COLOR 7,0
  21. 880 LOCATE 10,10:PRINT"    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";:COLOR 7,0:LOCATE 11,10:PRINT"EasyRite is entirely MENU driven. In most cases, escape routes";
  22. 900 LOCATE 12,10:PRINT"are provided to permit the operator to return to the safety of";:LOCATE 13,10:PRINT"a MENU. An exception is the LOAD a file. Should you get to the";
  23. 920 LOCATE 14,10:PRINT"LOAD phase in error, <ENTER> a non-existent FILE NAME and then":LOCATE 15,10:PRINT"recover thru the ERROR routine. The FOUR operational phases of";
  24. 940 LOCATE 16,10:PRINT"EasyRite are:  (1)  LOAD and REVIEW an existing EasyRite FILE;";:LOCATE 17,10:PRINT"(2) CHANGE or CREATE a New EasyRite file; (3) EDIT an existing";
  25. 960 LOCATE 18,10:PRINT"or new EasyRite file.  A change may be temporary and displayed";:LOCATE 19,10:PRINT"using the REVIEW function.   Or, the file is saved permanently";
  26. 980 LOCATE 20,10:PRINT"with the SAVE fuction on any DRIVE. Phase (4) is the HARD COPY";:LOCATE 21,10:PRINT"or PRINT function. This provides a choice of three type styles";:LOCATE 23,10,0
  27. 1010 PRINT"<PRESS> F-6 TO CONTINUE.          <PRESS> F-2 FOR CONTROL MENU";
  28. 1020 IN$=INKEY$:IF IN$=""THEN 1020
  29. 1040 IF IN$=CHR$(124)THEN 1070
  30. 1050 IF IN$=CHR$(127)THEN 3990
  31. 1060 SOUND 600,4:GOTO 1020
  32. 1070 REM =====  SECOND PAGE OF INSTRUCTIONS =====
  33. 1080 CLS:KEY OFF:FOR NK!=1 TO 10:KEY NK!,"":NEXT:DEF SEG:POKE 91,25:POKE 92,25:KEY 6,CHR$(124):KEY 2,CHR$(127):GOSUB 2120:GOSUB 3090:LOCATE 2,10:PRINT"and pitches. More detailed instructions follow on this and the";
  34. 1160 LOCATE 3,10:PRINT"the following page.    When you LOAD an existing EasyRite file";:LOCATE 4,10:PRINT"you may REVIEW it immediately.   The FILE will be displayed in";:LOCATE 5,10:PRINT"up to 10 twenty-line pages.  You may move through the pages on";
  35. 1190 LOCATE 6,10:PRINT"prompt, by pressing the ENTER key.  At the FILE end, a CONTROL";:LOCATE 7,10:PRINT"MENU will appear.   The CHANGE option will permit you to WORD-";:LOCATE 8,10:PRINT"PROCESS a LOADED or entirely NEW document,  up to 200 lines in";
  36. 1220 LOCATE 9,10:PRINT"length,  using 20 line segments per page.  INPUT is protected.";:LOCATE 10,10:PRINT"Only specified ALPHA-NUMERIC entries are acceptable  All other";
  37. 1240 LOCATE 11,10:PRINT"key-strokes will be refused, announced with a REJECT TONE. The";:LOCATE 12,10:PRINT"The CURSOR and EDIT keys are inoperative. Typing errors may be";
  38. 1260 LOCATE 13,10:PRINT"corrected immediately -- before the ENTER key is pressed -- by";:LOCATE 14,10:PRINT"use of the BACK SPACE key,  as with many self-correcting type-";
  39. 1280 LOCATE 15,10:PRINT"writers. At the end of each 20-line page, you will be provided";:LOCATE 16,10:PRINT"an opportunity to correct errors - before the page is changed.";
  40. 1300 LOCATE 17,10:PRINT"The two correction modes will become evident quickly while you";:LOCATE 18,10:PRINT"progress through the program. When the CURSOR is at the begin-";
  41. 1320 LOCATE 19,10:PRINT"ning of a LINE in EITHER correction MODE, depressing the ENTER";:LOCATE 20,10:PRINT"key will RE-ENTER the existing line without change. You cannot";
  42. 1340 LOCATE 21,10:PRINT"EDIT just part of a line. You must completely re-enter a whole";:LOCATE 23,10:PRINT"<PRESS> F-6 TO CONTINUE.       <PRESS> F-2 TO GO BACK ONE PAGE";
  43. 1370 IN$=INKEY$:IF IN$=""THEN 1370
  44. 1390 IF IN$=CHR$(124)GOTO 1420
  45. 1400 IF IN$=CHR$(127)GOTO 620
  46. 1410 SOUND 600,4:GOTO 1370
  47. 1420 REM =====  THIRD PAGE OF INSTRUCTIONS  =====
  48. 1430 CLS:KEY OFF:FOR NK!=1 TO 10:KEY NK!,"":NEXT:DEF SEG:POKE 91,25:POKE 92,25:KEY 6,CHR$(124):KEY 2,CHR$(127):GOSUB 2120:GOSUB 3090:LOCATE 2,10:PRINT"line. To leave a line blank, simply press the <ENTER> key.";
  49. 1510 LOCATE 4,10:PRINT"EDIT:  This option will display a LOADED or CREATED file in the";:LOCATE 5,10:PRINT"EDIT mode. The CURSOR appears at the first position of the page";
  50. 1530 LOCATE 6,10:PRINT"where the EDITING starts.  Press ENTER to leave the line as is,";:LOCATE 7,10:PRINT"and move the CURSOR to the next line.   At the end of the page,";
  51. 1550 LOCATE 8,10:PRINT"you will have a chance to re-correct any line or lines.  If all";:LOCATE 9,10:PRINT"lines are OK, pressing ENTER will call up the next page.    You";
  52. 1570 LOCATE 10,10:PRINT"use 'END' or  'end' at the BEGINNING of any line to close out a";:LOCATE 11,10:PRINT"file.  The word END will not print.  You may REVIEW a NEW or an";
  53. 1590 LOCATE 12,10:PRINT"EDIT file immediately.    You need not SAVE a file to PRINT  or";:LOCATE 13,10:PRINT"REVIEW it.  Conventional FILE SPECIFICATION protocol is used in";
  54. 1610 LOCATE 14,10:PRINT"SAVING and LOADING all files.   The use of the DRIVE DESIGNATOR";:LOCATE 15,10:PRINT"(A: B: C: OR D:)  is recommended to prevent inadverdently going";
  55. 1630 LOCATE 16,10:PRINT"to an incorrect DRIVE.  The HARD COPY function offers you three";:LOCATE 17,10:PRINT"pitch and type styles (Two are EPSON CODED.)  Page numbering is";
  56. 1650 LOCATE 18,10:PRINT"automatic with 59 lines printed per page.  Text CENTERING is by";:LOCATE 19,10:PRINT"manual spacing.   RIGHT justification is accomplished manually.";
  57. 1670 LOCATE 20,10:PRINT"Entering TEXT in the shaded portions of the INPUT & EDIT format";:LOCATE 21,10:PRINT"will reduce the RIGHT margin with the standard ELITE print-out.";:LOCATE 23,10
  58. 1700 PRINT"<PRESS> F-6 TO CONTINUE.       <PRESS> F-2 TO GO BACK ONE PAGE";
  59. 1710 IN$=INKEY$:IF IN$=""THEN 1710
  60. 1730 IF IN$=CHR$(124)GOTO 1760
  61. 1740 IF IN$=CHR$(127)GOTO 1070
  62. 1750 SOUND 600,4:GOTO 1710
  63. 1760 KEY OFF:FOR NK!=1 TO 10:KEY NK!,"":NEXT:KEY 2,CHR$(127):GOTO 3990
  64. 1770 REM =====  PRINTER SELECT ROUTINE  =====
  65. 1780 CLS:GOSUB 2120:DEF SEG=&H40:A=PEEK(&H8):B=PEEK(&H9):C=PEEK(&HA):D=PEEK(&HB):POKE &H8,C:POKE &H9,D:POKE &HA,A:POKE &HB,B:IF PEEK(&H9)=3 THEN LPT$="1"ELSE LPT$="2
  66. 1900 LOCATE 5,30,0:PRINT"Primary Printer = LPT";LPT$+":";:LOCATE 8,24:PRINT"For Printer Test         <PRESS> 1":COLOR 15:LOCATE 10,11:PRINT"< Do not test printer if none installed at designated port! >":COLOR 7:LOCATE 12,24
  67. 1950 PRINT"Reset LPT1 OR LPT2       <PRESS> 2";:LOCATE 14,24,0:PRINT"To continue with program <PRESS> 3";" ";:GOSUB 3590:GOSUB 2330
  68. 2000 GOSUB 3730:LOCATE 21,68,0:LOW=49:HIGH=51:FINLEN=1:GOSUB 6240:IF INPTR$=CHR$(13)THEN BEEP:GOTO 2000
  69. 2070 ON VAL(INPTR$)GOTO 2080,1770,2100
  70. 2080 LPRINT TAB(10)"This is a Printer test":GOTO 1900
  71. 2100 RETURN
  72. 2110 REM =====  PROGRAM FOR BOX PRINTOUT SET 1 =======
  73. 2120 REM =====  PRINT BOX 1, SET 1 =====
  74. 2130 WW=76:TL=1:LL=24:LC=2:GOSUB 3170:RETURN
  75. 2190 REM =====  PRINT BOX 2, SET 1 =====
  76. 2200 WW=76:TL=18:LL=24:LC=2:GOSUB 3170:RETURN
  77. 2260 REM =====  PRINT BOX 2A, SET 1 =====
  78. 2270 WW=68:TL=4:LL=22:LC=6:GOSUB 3170:RETURN
  79. 2330 REM =====  PRINT BOX 3, SET 1 =====
  80. 2340 WW=23:TL=20:LL=22:LC=50:GOSUB 3170:RETURN
  81. 2400 REM =====  PRINT BOX 4, SET 1 =====
  82. 2410 WW=76:TL=1:LL=24:LC=2:GOSUB 3170:RETURN
  83. 2470 REM =====  PRINT BOX 5, SET 1 =====
  84. 2480 WW=30:TL=7:LL=13:LC=25:GOSUB 3170:RETURN
  85. 2540 REM =====  PROGRAM FOR BOX PRINTOUT SET 2 =======
  86. 2550 REM =====  PRINT BOX 1, SET 2 =====
  87. 2560 COLOR 7,0:WW=76:TL=1:LL=24:LC=2:GOSUB 3290:RETURN
  88. 2630 REM =====  PRINT BOX 2, SET 2 =====
  89. 2640 WW=76:TL=18:LL=24:LC=2:GOSUB 3290:RETURN
  90. 2700 REM =====  PRINT BOX 2A, SET 2 =====
  91. 2710 WW=76:TL=6:LL=19:LC=2:GOSUB 3290:RETURN
  92. 2770 REM =====  PRINT BOX 3, SET 2 =====
  93. 2780 WW=23:TL=20:LL=22:LC=50:GOSUB 3290:RETURN
  94. 2840 REM =====  PRINT BOX 4, SET 2 =====
  95. 2850 WW=76:TL=1:LL=24:LC=2:GOSUB 3290:RETURN
  96. 2910 REM =====  PRINT BOX 5, SET 2 =====
  97. 2920 WW=30:TL=7:LL=13:LC=25:GOSUB 3290:RETURN
  98. 2980 REM =====  PRINT MIDDLE BOX CONNECTING LINE VERT/HORZ #1 =====
  99. 2990 LOCATE 18,2,0:PRINT"╠";STRING$(76,"═");"╣";:RETURN
  100. 3020 REM =====  PRINT PAGE "CENTER LINE" MARKER ON INPUT FORM =====
  101. 3030 LOCATE 1,33:PRINT" Center ";:COLOR 15:LOCATE 1,41:PRINT CHR$(25);:COLOR 7,0:LOCATE 1,42:PRINT" Marker ";:RETURN
  102. 3050 REM =====  PRINT MIDDLE BOX CONNECTING LINE VERT/HORZ #2 =====
  103. 3060 LOCATE 22,1,0:PRINT"╠";STRING$(77,"═");"╣";:RETURN
  104. 3090 REM =====  PRINT MIDDLE BOX CONNECTING LINE VERT/HORZ #3 ====
  105. 3100 LOCATE 22,2,0:PRINT"╟";STRING$(76,"─");"╢";:RETURN
  106. 3130 REM =====  PRINT MIDDLE BOX CONNTECTING LINE VERT/HORZ #4 ====
  107. 3140 LOCATE 22,2,0:PRINT"├";STRING$(76,"─");"┤";:RETURN
  108. 3170 REM =====  BOX PRINT PRINT ROUTINE, VERSION #1 =====
  109. 3180 LOCATE TL,LC,0:PRINT TLC$;STRING$(WW,HL$);TRC$;:FOR BD=(TL+1)TO(LL-1):LOCATE BD,LC,0:PRINT VL$;:LOCATE BD,(LC+WW+1),0:PRINT VL$;:NEXT:LOCATE LL,LC,0:PRINT BLC$;STRING$(WW,HL$);BRC$;:RETURN
  110. 3290 REM =====  BOX PRINT PRINT ROUTINE, VERSION #2 =====
  111. 3300 LOCATE TL,LC,0:PRINT TLC2$;STRING$(WW,HL2$);TRC2$;:FOR BD=(TL+1)TO(LL-1):LOCATE BD,LC,0:PRINT VL2$;:LOCATE BD,(LC+WW+1),0:PRINT VL2$;:NEXT:LOCATE LL,LC,0:PRINT BLC2$;STRING$(WW,HL2$);BRC2$;:RETURN
  112. 3410 REM =====  CLEAR TOP BOX FORM =====
  113. 3420 FOR CS=2 TO 17:LOCATE TL,3,0:PRINT SPC(76):NEXT:RETURN
  114. 3470 REM =====  CLEAR UPPER 1/2 SCREEN FOR DIRECTORY  =====
  115. 3480 FOR CS=1 TO 17:LOCATE CS,1,0:PRINT SPC(79):NEXT:RETURN
  116. 3530 REM =====  CLEAR BOTTOM BOX FORM EXCEPT FOR INSERT  =====
  117. 3540 FOR CS=19 TO 23:LOCATE CS,3,0:PRINT SPC(47):NEXT:RETURN
  118. 3590 REM =====  CLEAR BOTTOM BOX INCLUDING INSERT  =====
  119. 3600 FOR CS=19 TO 23:LOCATE CS,3,0:PRINT SPC(75):NEXT:RETURN
  120. 3650 REM =====  CLEAR THE RESPONSE INPUT BOX  =====
  121. 3660 LOCATE 21,52,0:PRINT SPC(22);:RETURN
  122. 3690 REM =====  CLEAR THE RESPONSE LINE BEFORE INSERT BOX  =====
  123. 3700 LOCATE 21,10,0:PRINT SPC(40);:RETURN
  124. 3730 REM =====  CLEAR RESPONSE BOX AND SET "SELECT" ROUTINE  =====
  125. 3740 LOCATE 21,10,0:PRINT SPC(22);
  126. 3760 LOCATE 21,53:PRINT"SELECT               ║    ║":RETURN
  127. 3790 REM =====  CLEAR INPUT BOX LINE  =====
  128. 3800 LOCATE 21,52,0:PRINT SPC(21);:LOCATE 21,76:RETURN
  129. 3840 REM =====  CLEAR EasyRite INPUT FORM BOTTOM LINE =====
  130. 3850 LOCATE 23,3:PRINT SPC(75):RETURN
  131. 3870 REM =====  CLEAR EasyRite INPUT FORM FIRST HALF BOTTOM LINE =====
  132. 3880 LOCATE 23,3:PRINT SPC(37):RETURN
  133. 3900 REM =====  CLEAR EasyRite INPUT FORM LAST HALF BOTTOM LINE =====
  134. 3910 LOCATE 23,41:PRINT SPC(37):RETURN
  135. 3930 REM =====  CLEAR TOP FORM DOWN TO HORIZONTAL LINE  =====
  136. 3940 FOR CS=3 TO 17:LOCATE CS,3,0:PRINT SPC(75):NEXT:RETURN
  137. 3990 REM =====  QUERY & CLEAR SETUP FOR CONTROL MENU =====
  138. 4000 CLS:GOSUB 2260:COLOR 15:LOCATE 3,31,0,13,12:PRINT"<< CONTROL MENU >> ":COLOR 7,0:LOCATE 4,6:PRINT CHR$(201);STRING$(23,205);CHR$(209);STRING$(9,205);CHR$(203);STRING$(24,205);CHR$(209);STRING$(9,205);CHR$(187);:FOR LN=5 TO 6:LOCATE LN,6
  139. 4020 PRINT CHR$(186);STRING$(23,32);CHR$(179);STRING$(9,32);CHR$(186);STRING$(24,32);CHR$(179);STRING$(9,32);CHR$(186);:NEXT:LOCATE 7,6
  140. 4030 PRINT CHR$(199);STRING$(23,196);CHR$(197);STRING$(9,196);CHR$(215);STRING$(24,196);CHR$(197);STRING$(9,196);CHR$(182);:FOR LN=8 TO 9:LOCATE LN,6
  141. 4040 PRINT CHR$(186);STRING$(23,32);CHR$(179);STRING$(9,32);CHR$(186);STRING$(24,32);CHR$(179);STRING$(9,32);CHR$(186);:NEXT:LOCATE 10,6
  142. 4050 PRINT CHR$(199);STRING$(23,196);CHR$(197);STRING$(9,196);CHR$(215);STRING$(24,196);CHR$(197);STRING$(9,196);CHR$(182);:FOR LN=11 TO 12:LOCATE LN,6
  143. 4060 PRINT CHR$(186);STRING$(23,32);CHR$(179);STRING$(9,32);CHR$(186);STRING$(24,32);CHR$(179);STRING$(9,32);CHR$(186);:NEXT:LOCATE 13,6
  144. 4070 PRINT CHR$(199);STRING$(23,196);CHR$(197);STRING$(9,196);CHR$(215);STRING$(24,196);CHR$(197);STRING$(9,196);CHR$(182);:FOR LN=14 TO 15:LOCATE LN,6
  145. 4080 PRINT CHR$(186);STRING$(23,32);CHR$(179);STRING$(9,32);CHR$(186);STRING$(24,32);CHR$(179);STRING$(9,32);CHR$(186);:NEXT:LOCATE 16,6
  146. 4090 PRINT CHR$(199);STRING$(23,196);CHR$(197);STRING$(9,196);CHR$(215);STRING$(24,196);CHR$(197);STRING$(9,196);CHR$(182);:FOR LN=17 TO 18:LOCATE LN,6
  147. 4100 PRINT CHR$(186);STRING$(23,32);CHR$(179);STRING$(9,32);CHR$(186);STRING$(24,32);CHR$(179);STRING$(9,32);CHR$(186);:NEXT:LOCATE 19,6
  148. 4110 PRINT CHR$(199);STRING$(23,196);CHR$(197);STRING$(9,196);CHR$(215);STRING$(24,196);CHR$(197);STRING$(9,196);CHR$(182);:FOR LN=20 TO 21:LOCATE LN,6
  149. 4120 PRINT CHR$(186);STRING$(23,32);CHR$(179);STRING$(9,32);CHR$(186);STRING$(24,32);CHR$(179);STRING$(9,32);CHR$(186);:NEXT:LOCATE 22,6
  150. 4130 PRINT CHR$(200);STRING$(23,205);CHR$(207);STRING$(9,205);CHR$(202);STRING$(24,205);CHR$(207);STRING$(9,205);CHR$(188);:LOCATE 4,25:PRINT"  Select and <PRESS> a letter  ";:LOCATE 6,11:PRINT"F U N C T I O N";:COLOR 15:LOCATE 6,32:PRINT"<PRESS>";
  151. 4140 COLOR 7:LOCATE 6,46:PRINT"F U N C T I O N";:COLOR 15:LOCATE 6,67:PRINT"<PRESS>";:COLOR 7:LOCATE 9,11:PRINT"DISK Directory":LOCATE 9,35:PRINT"D":LOCATE 9,46:PRINT"LOAD File":LOCATE 9,70:PRINT"L";:LOCATE 12,11:PRINT"CHANGE File":LOCATE 12,35:PRINT"C
  152. 4150 LOCATE 12,46:PRINT"SAVE File":LOCATE 12,70:PRINT"S";:LOCATE 15,11:PRINT"REVIEW File":LOCATE 15,35:PRINT"R":LOCATE 15,46:PRINT"EDIT File":LOCATE 15,70:PRINT"E";:LOCATE 18,11:PRINT"TEST Printer":LOCATE 18,35:PRINT"T":LOCATE 18,46
  153. 4160 PRINT"PRINT Hard Copy":LOCATE 18,70:PRINT"P";:LOCATE 21,11:PRINT"QUIT Program":LOCATE 21,35:PRINT"Q":LOCATE 21,46:PRINT"ZAP (CLEAR) File":LOCATE 21,70:PRINT"Z";:LOCATE 23,25:COLOR 15:PRINT"To Review INSTRUCTIONS <PRESS> I":COLOR 7
  154. 4180 MZ$="":MZ$="DdLlCcSsRrEeTtPpQqZzIi":GOSUB 4830:GOSUB 6180:ON MS GOTO 4260,4260,5910,5910,4240,4240,9640,9640,9750,9750,4250,4250,4220,4220,11020,11020,13260,13260,6890,6890,620,620
  155. 4220 GOSUB 1770:GOTO 3990
  156. 4230 RETURN
  157. 4240 MSQ$="":MSQ$="ZEBRA":GOTO 6910
  158. 4250 MSQ$="":MSQ$="LION":GOTO 8060
  159. 4260 REM =====  DISK DIRECTORY REVIEW ROUTINE =====
  160. 4270 CLS:GOSUB 2330:GOSUB 2190:LOCATE 21,20,0:PRINT"What Drive (A,B,C,D)";:KEY OFF:MZ$="":MZ$="AaBbCcDd":GOSUB 3760:GOSUB 6180:LOCATE 21,65,0:PRINT IN$;:ON MS GOTO 4400,4400,4470,4470,4540,4540,4610,4610
  161. 4400 LOCATE 3,1:FILES"A:*.*":COLOR 0,7:LOCATE 2,32:PRINT" Drive A: ";:COLOR 7,0:GOTO 4670
  162. 4470 LOCATE 3,1:FILES"B:*.*":COLOR 0,7:LOCATE 2,32:PRINT" Drive B: ";:COLOR 7,0:GOTO 4670
  163. 4540 LOCATE 3,1:FILES"C:*.*":COLOR 0,7:LOCATE 2,32:PRINT" Drive C: ";:COLOR 7,0:GOTO 4670
  164. 4610 LOCATE 3,1:FILES"D:*.*":COLOR 0,7:LOCATE 2,32:PRINT" Drive D: ";:COLOR 7,0
  165. 4670 GOSUB 3590:GOSUB 2190:LOCATE 20,24:PRINT"Another Directory?      <PRESS 1>";:LOCATE 21,24:PRINT"Put File in EasyRite?   <PRESS 2>";:LOCATE 22,24:PRINT"Return to CONTROL Menu? <PRESS 3>";:LOCATE 21,65,0:FINLEN=1:LOW=49:HIGH=51:GOSUB 6240
  166. 4780 ON VAL(INPTR$)GOTO 4790,4820,4800
  167. 4790 GOTO 4260
  168. 4800 CLS:GOTO 3990
  169. 4820 FOR LC=19 TO 22:LOCATE LC,10:PRINT SPC(50):NEXT:GOTO 5930
  170. 4830 REM =====  ELAPSED TIME PRINTOUT ROUTINE =====
  171. 4840 N$=TIME$:DEF FNH(H$)=VAL(LEFT$(H$,2)):DEF FNM(M$)=VAL(MID$(M$,4,2)):DEF FNS(S$)=VAL(RIGHT$(S$,2)):TMH=(FNH(N$))-FNH(BB$):TMM=(FNM(N$)-FNM(BB$)):TMS=(FNS(N$)-FNS(BB$)):LOCATE 25,2:PRINT SPC(78);:KEY OFF:LOCATE 25,8:PRINT"Start Time ";BB$;
  172. 4960 LOCATE 25,30:PRINT"End Time ";N$;:LOCATE 25,50:PRINT"Elapsed Time "TMH CHR$(58)ABS(TMM)CHR$(58)(TMS);:RETURN
  173. 5010 REM =====  ERROR TRAP ROUTINE =====
  174. 5020 GOSUB 3690:LOCATE 25,2:PRINT SPC(78);:KEY OFF:LOCATE 25,28,0:COLOR 24,4:PRINT" ERROR ";:COLOR 7,0:PRINT" #";ERR;" IN LINE #";ERL;:FOR T=1 TO 1000:NEXT:IF ERR=53 THEN LOCATE 20,10:PRINT SPC(30),ELSE 5170
  175. 5140 LOCATE 20,10:PRINT"File not found   ";:PRINT" ** Load CORRECT Disk";
  176. 5170 IF ERR=54 THEN LOCATE 20,10:PRINT SPC(30),ELSE 5210
  177. 5180 LOCATE 20,10:PRINT"Bad file mode    ";:PRINT" ** Correct File Mode";
  178. 5210 IF ERR=55 THEN LOCATE 20,10:PRINT SPC(30),ELSE 5250
  179. 5220 LOCATE 20,10:PRINT"File already OPEN ";:PRINT" ** CLOSE and REOPEN";
  180. 5250 IF ERR=61 THEN LOCATE 20,10:PRINT SPC(30),ELSE 5290
  181. 5260 LOCATE 20,10:PRINT"Disk FULL         ";:PRINT" ** Install New Disk";
  182. 5290 IF ERR=70 THEN LOCATE 20,10:PRINT SPC(30),ELSE 5330
  183. 5300 LOCATE 20,10:PRINT"Disk WRITE PROTECT  ";:PRINT" ** Remove W/P Tab";
  184. 5330 IF ERR=71 THEN LOCATE 20,10:PRINT SPC(30),ELSE 5370
  185. 5340 LOCATE 20,10:PRINT"Disk NOT READY    ";:PRINT" ** CLOSE Drive Door";
  186. 5370 IF ERR=24 THEN LOCATE 20,10:PRINT SPC(30),ELSE 5410
  187. 5380 LOCATE 20,10:PRINT"Printer OFF-LINE ";:PRINT"  ** Set ON-LINE Mode";
  188. 5410 IF ERR=25 THEN LOCATE 20,10:PRINT SPC(30),ELSE 5450
  189. 5420 LOCATE 20,10:PRINT"Printer not ON    ";:PRINT" ** Check Printer ON";
  190. 5450 IF ERR=27 THEN LOCATE 20,10:PRINT SPC(30),ELSE 5540
  191. 5460 LOCATE 20,10:PRINT"OUT OF PAPER!     ";:PRINT" ** Check Paper Path";
  192. 5490 LOCATE 22,20:GOSUB 2330:GOSUB 3650:GOSUB 3690:RETURN
  193. 5540 GOSUB 5490:LOCATE 22,10,0:PRINT"Correct SYSTEM ERROR - <PRESS> ENTER";:LOCATE 22,10,0:GOSUB 6670:KEY ON:KEY OFF:COLOR 7,0:RESUME 3990
  194. 5630 REM =====  DATA SAVE ROUTINE TO DISK  =====
  195. 5640 CLS:GOSUB 2190:GOSUB 2330:LOCATE 21,27,0:COLOR 15:PRINT"What is FileName? ";:COLOR 7,0:GOSUB 3650:FINLEN=14:LOCATE 21,51:COLOR 15:PRINT"FileName ·|········.···";:COLOR 7,0:LOCATE 21,60,0:GOSUB 6400:FILESPEC$=FIN$:GOSUB 3690:OPEN "O",1,FILESPEC$
  196. 5820 WRITE#1,P:FOR I=1 TO P:WRITE#1,A$(I):IF(A$(I)="END"OR A$(I)="end")THEN P=I
  197. 5860 IF(A$(I)="END"OR A$(I)="end")THEN 5880
  198. 5870 NEXT
  199. 5880 CLOSE:GOSUB 4830:GOTO 9730
  200. 5910 REM =====  DISK READ ROUTINE FROM DISK  =====
  201. 5920 CLS
  202. 5930 FOR I=1 TO 60:A$(I)="":NEXT:GOSUB 2190:GOSUB 2330:LOCATE 21,27:COLOR 15:PRINT"What is FileName? ";:COLOR 7,0:GOSUB 3650:FINLEN=14:LOCATE 21,51:COLOR 15:PRINT"FileName ·|········.···";:COLOR 7,0:LOCATE 21,60,0:GOSUB 6400:FILESPEC$=FIN$:GOSUB 3690
  203. 6100 OPEN "I",1,FILESPEC$:INPUT#1,P:FOR I=1 TO P:INPUT#1,A$(I):IF(A$(I)="END"OR A$(I)="end")THEN P=I
  204. 6150 IF(A$(I)="END"OR A$(I)="END")THEN 6170
  205. 6160 NEXT
  206. 6170 CLOSE:GOTO 3990
  207. 6180 REM =====  INKEY$ RESPONSE FOR DIRECTORY SELECTION  =====
  208. 6190 IN$=INKEY$:IF IN$=""THEN 6180
  209. 6210 MS=INSTR(MZ$,IN$):IF MS=0 THEN SOUND 1000,4:GOTO 6180
  210. 6230 RETURN
  211. 6240 REM =====  INKEY$ ROUTINE FOR NUMBER RESPONSES =====
  212. 6250 FIN$="
  213. 6260 IF INKEY$><""THEN 6260
  214. 6270 INPTR$=INKEY$:IF INPTR$=""THEN 6270
  215. 6290 IF INPTR$=CHR$(13)THEN RETURN
  216. 6300 IF INPTR$<>CHR$(8)THEN 6350
  217. 6310 IF FIN$=""THEN SOUND 600,4:GOTO 6270
  218. 6320 PRINT CHR$(29);" ";CHR$(29);:FIN$=LEFT$((FIN$),LEN(FIN$)-1):GOTO 6270
  219. 6350 IF(ASC(INPTR$)<LOW OR ASC(INPTR$)>HIGH)THEN SOUND 400,4:GOTO 6270
  220. 6360 FIN$=FIN$+INPTR$:PRINT INPTR$;:IF LEN(FIN$)=FINLEN THEN RETURN
  221. 6390 GOTO 6270
  222. 6400 REM =====  INKEY$ ROUTINE FOR LETTER RESPONSES =====
  223. 6410 COLOR 7,0:FIN$="":IF FINLEN=0 THEN FINLEN=255
  224. 6440 IF INKEY$><""THEN 6440
  225. 6450 IF INKEY$=CHR$(127)THEN 3990
  226. 6460 INPTR$=INKEY$:IF INPTR$=""THEN 6460
  227. 6480 IF INPTR$=CHR$(13)THEN RETURN
  228. 6490 IF INPTR$<>CHR$(8)THEN 6540
  229. 6500 IF FIN$=""THEN SOUND 600,4:GOTO 6460
  230. 6510 PRINT CHR$(29);"·";CHR$(29);:FIN$=LEFT$((FIN$),LEN(FIN$)-1):GOTO 6460
  231. 6540 IF LEN(FIN$)=FINLEN THEN SOUND 600,4:GOTO 6460
  232. 6550 IF ASC(INPTR$)<31 OR ASC(INPTR$)>126 THEN SOUND 400,4:GOTO 6460
  233. 6560 PRINT INPTR$;:FIN$=FIN$+INPTR$:GOTO 6460
  234. 6590 REM =====  INKEY$ RESPONSE FOR YES/NO ROUTINE  =====
  235. 6600 IN$=INKEY$:IF IN$=""THEN 6590
  236. 6620 YN=0:IF(IN$="Y"OR IN$="y")THEN YN=1:RETURN
  237. 6640 IF(IN$="N"OR IN$="n")THEN YN=2:RETURN
  238. 6650 SOUND 400,4:GOTO 6590
  239. 6670 REM =====  INKEY$ CHECK FOR CARRIAGE RETURN INPUT  =====
  240. 6680 IF INKEY$><""GOTO 6670
  241. 6690 IN$=INKEY$:IF IN$=""THEN 6690
  242. 6710 IF IN$<>CHR$(13)THEN SOUND 400,4:GOTO 6690
  243. 6720 RETURN
  244. 6730 REM =====  PRINT IN EasyRite BOTTOM BOX END AND QUOTE INSTRUCTIONS =====
  245. 6740 GOSUB 3840:LOCATE 23,6,0:PRINT"Enter ";:COLOR 15:PRINT CHR$(34)"END"CHR$(34);:COLOR 7,0:PRINT" to close entries ";:LOCATE 23,41:PRINT"No ";:COLOR 15:PRINT"QUOTATION MARKS";:COLOR 7,0:PRINT" permitted in TEXT!";:RETURN
  246. 6790 REM =====  STRING INPUT CONTROL/DIRECTION SUBROUTINE  =====
  247. 6800 LOCATE LN,8,1:COLOR 15:PRINT A$(I);:COLOR 7,0:LOCATE LN,8,1,0,7:FINLEN=70:GOSUB 6400:IF FIN$=""THEN A$(I)=A$(I)ELSE A$(I)=FIN$
  248. 6840 LOCATE LN,8,0,13,12:COLOR 7,0:PRINT STRING$(70,"·");:LOCATE LN,8,0:PRINT A$(I);:IF(A$(I)="END"OR A$(I)="end")THEN P=I
  249. 6870 IF(A$(I)="END"OR A$(I)="end")THEN GOSUB 9010:GOTO 9640
  250. 6880 RETURN
  251. 6890 REM =====  ZAP (CLEAR) FILE TO CREATE NEW FILE =====
  252. 6900 FOR I=1 TO 200:A$(I)="":NEXT:GOSUB 13510:GOTO 3990
  253. 6910 REM =====  START OF LOADED FILE CHANGE ROUTINE, PAGE SELECTOR  =====
  254. 6920 CLS:GOSUB 2400:GOSUB 2470:LOCATE 9,27:PRINT"Change From Page 1 <PRESS 1>":LOCATE 11,27:PRINT"Change From Page ? <PRESS 2>":LOCATE 21,40,0:FINLEN=1:LOW=49:HIGH=50:GOSUB 6240:ON VAL(INPTR$)GOTO 7020,6980
  255. 6980 LOCATE 16,25:PRINT"Start at what Page? <ENTER> Pg #";:LOCATE 18,27:PRINT"<Select from Pages 2 thru 9>";:LOCATE 21,40,0:FINLEN=1:LOW=50:HIGH=57:GOSUB 6240:ON VAL(INPTR$)-1 GOTO 7130,7230,7330,7440,7540,7640,7750,7850
  256. 7020 REM =====  START OF LOADED FILE CHANGE ROUTINE, PAGE ONE  =====
  257. 7030 CLS:GOSUB 2840:GOSUB 3130:GOSUB 3020:FOR I=1 TO 20:LOCATE I+1,3:PRINT USING PR$;I;:LOCATE I+1,8:PRINT STRING$(66,"·");"░";"■■■";:LOCATE I+1,8:PRINT A$(I);:NEXT:GOSUB 6730:P=200:I=1:PG#=0:PG#=1:LN=0:FOR I=1 TO 20:LN=I+1:GOSUB 6790
  258. 7110 IF LN=21 THEN I=20:GOSUB 9010:GOTO 7130
  259. 7120 NEXT
  260. 7130 REM =====  START OF SECOND CHANGE PAGE  =====
  261. 7140 CLS:GOSUB 2840:GOSUB 3130:GOSUB 3020:FOR I=21 TO 40:LOCATE I-19,3:PRINT USING PR$;I;:LOCATE I-19,8:PRINT STRING$(66,"·");"░";"■■■";:LOCATE I-19,8:PRINT A$(I);:NEXT:GOSUB 6730:P=200:I=20:PG#=0:PG#=2:LN=0:FOR I=21 TO 40:LN=I-19:GOSUB 6790
  262. 7210 IF LN=21 THEN I=40:GOSUB 9010:GOTO 7230
  263. 7220 NEXT
  264. 7230 REM =====  START OF THIRD CHANGE PAGE  =====
  265. 7240 CLS:GOSUB 2840:GOSUB 3130:GOSUB 3020:FOR I=41 TO 60:LOCATE I-39,3:PRINT USING PR$;I;:LOCATE I-39,8:PRINT STRING$(66,"·");"░";"■■■";:LOCATE I-39,8:PRINT A$(I);:NEXT:GOSUB 6730:P=200:I=40:PG#=0:PG#=3:LN=0:FOR I=41 TO 60:LN=I-39:GOSUB 6790
  266. 7310 IF LN=21 THEN I=60:GOSUB 9010:GOTO 7330
  267. 7320 NEXT
  268. 7330 REM =====  START OF FOURTH CHANGE PAGE  =====
  269. 7340 CLS:GOSUB 2840:GOSUB 3130:GOSUB 3020:FOR I=61 TO 80:LOCATE I-59,3:PRINT USING PR$;I;:LOCATE I-59,8:PRINT STRING$(66,"·");"░";"■■■";:LOCATE I-59,8:PRINT A$(I);:NEXT:GOSUB 6730:P=200:I=1:PG#=0:PG#=4:LN=0:FOR I=61 TO 80:LN=I-59:GOSUB 6790
  270. 7420 IF LN=21 THEN I=80:GOSUB 9010:GOTO 7440
  271. 7430 NEXT
  272. 7440 REM =====  START OF FIFTH CHANGE PAGE  =====
  273. 7450 CLS:GOSUB 2840:GOSUB 3130:GOSUB 3020:FOR I=81 TO 100:LOCATE I-79,3:PRINT USING PR$;I;:LOCATE I-79,8:PRINT STRING$(66,"·");"░";"■■■";:LOCATE I-79,8:PRINT A$(I);:NEXT:GOSUB 6730:P=200:I=20:PG#=0:PG#=5:LN=0:FOR I=81 TO 100:LN=I-79:GOSUB 6790
  274. 7520 IF LN=21 THEN I=100:GOSUB 9010:GOTO 7540
  275. 7530 NEXT
  276. 7540 REM =====  START OF SIXTH CHANGE PAGE  =====
  277. 7550 CLS:GOSUB 2840:GOSUB 3130:GOSUB 3020:FOR I=101 TO 120:LOCATE I-99,3:PRINT USING PR$;I;:LOCATE I-99,8:PRINT STRING$(66,"·");"░";"■■■";:LOCATE I-99,8:PRINT A$(I);:NEXT:GOSUB 6730:P=60:I=200:PG#=0:PG#=6:LN=0:FOR I=101 TO 120:LN=I-99:GOSUB 6790
  278. 7620 IF LN=21 THEN I=120:P=I:GOSUB 9010:GOTO 7640
  279. 7630 NEXT
  280. 7640 REM =====  START OF SEVENTH CHANGE PAGE  =====
  281. 7650 CLS:GOSUB 2840:GOSUB 3130:GOSUB 3020:FOR I=121 TO 140:LOCATE I-119,3:PRINT USING PR$;I;:LOCATE I-119,8:PRINT STRING$(66,"·");"░";"■■■";:LOCATE I-119,8:PRINT A$(I);:NEXT:GOSUB 6730:P=200:I=1:PG#=0:PG#=7:LN=0:FOR I=121 TO 140:LN=I-119:GOSUB 6790
  282. 7730 IF LN=21 THEN I=140:GOSUB 9010:GOTO 7750
  283. 7740 NEXT
  284. 7750 REM =====  START OF EIGTH CHANGE PAGE  =====
  285. 7760 CLS:GOSUB 2840:GOSUB 3130:GOSUB 3020:FOR I=141 TO 160:LOCATE I-139,3:PRINT USING PR$;I;:LOCATE I-139,8:PRINT STRING$(66,"·");"░";"■■■";:LOCATE I-139,8:PRINT A$(I);:NEXT:GOSUB 6730:P=200:I=20:PG#=0:PG#=8:LN=0:FOR I=141 TO 160:LN=I-139:GOSUB 6790
  286. 7830 IF LN=21 THEN I=140:GOSUB 9010:GOTO 7850
  287. 7840 NEXT
  288. 7850 REM =====  START OF NINTH CHANGE PAGE  =====
  289. 7860 CLS:GOSUB 2840:GOSUB 3130:GOSUB 3020:FOR I=161 TO 180:LOCATE I-159,3:PRINT USING PR$;I;:LOCATE I-159,8:PRINT STRING$(66,"·");"░";"■■■";:LOCATE I-159,8:PRINT A$(I);:NEXT:GOSUB 6730:P=200:I=160:PG#=0:PG#=9:LN=0:FOR I=161 TO 180:LN=I-159:GOSUB 6790
  290. 7930 IF LN=21 THEN I=180:GOSUB 9010:GOTO 7950
  291. 7940 NEXT
  292. 7950 REM =====  START OF TENTH CHANGE PAGE  =====
  293. 7960 CLS:GOSUB 2840:GOSUB 3130:GOSUB 3020:FOR I=181 TO 200:LOCATE I-179,3:PRINT USING PR$;I;:LOCATE I-179,8:PRINT STRING$(66,"·");"░";"■■■";:LOCATE I-179,8:PRINT A$(I);:NEXT:GOSUB 6730:P=200:I=1:PG#=0:PG#=10:LN=0:FOR I=181 TO P:LN=I-179:GOSUB 6790
  294. 8040 IF LN=21 THEN I=200:P=I:GOSUB 9010:GOTO 9640
  295. 8050 NEXT
  296. 8060 REM =====  START OF IN-MEMORY EDIT ROUTINE, PAGE SELECTOR  =====
  297. 8070 CLS:GOSUB 2400:GOSUB 2470:LOCATE 9,28:PRINT"Edit From Page 1 <PRESS 1>":LOCATE 11,28:PRINT"Edit from Page ? <PRESS 2>":LOCATE 21,40,0:FINLEN=1:LOW=49:HIGH=50:GOSUB 6240:ON VAL(INPTR$)GOTO 8170,8130
  298. 8130 LOCATE 16,25:PRINT"Start at what Page? <ENTER> Pg #";:LOCATE 18,27:PRINT"<Select from Pages 2 thru 9>";:LOCATE 21,40,0:FINLEN=1:LOW=50:HIGH=57:GOSUB 6240:ON VAL(INPTR$)-1 GOTO 8260,8340,8420,8510,8590,8670,8760,8840
  299. 8170 REM =====  START OF IN-MEMORY EDIT ROUTINE, PAGE ONE  =====
  300. 8180 CLS:GOSUB 2840:GOSUB 3130:GOSUB 3020:FOR I=1 TO 20:LOCATE I+1,3:PRINT USING PR$;I;:LOCATE I+1,8:PRINT STRING$(66,"·");"░";"■■■";:LOCATE I+1,8:PRINT A$(I);:NEXT:P=200:I=1:PG#=0:PG#=1:LN=0:FOR I=1 TO 20:LN=I+1:IF LN=21 THEN I=20:GOSUB 9010:GOTO 8260
  301. 8250 NEXT
  302. 8260 REM =====  START OF SECOND EDIT PAGE  =====
  303. 8270 CLS:GOSUB 2840:GOSUB 3130:GOSUB 3020:FOR I=21 TO 40:LOCATE I-19,3:PRINT USING PR$;I;:LOCATE I-19,8:PRINT STRING$(66,"·");"░";"■■■";:LOCATE I-19,8:PRINT A$(I);:NEXT:P=200:I=20:PG#=0:PG#=2:LN=0:FOR I=21 TO 40:LN=I-19
  304. 8320 IF LN=21 THEN I=40:GOSUB 9010:GOTO 8340
  305. 8330 NEXT
  306. 8340 REM =====  START OF THIRD EDIT PAGE  =====
  307. 8350 CLS:GOSUB 2840:GOSUB 3130:GOSUB 3020:FOR I=41 TO 60:LOCATE I-39,3:PRINT USING PR$;I;:LOCATE I-39,8:PRINT STRING$(66,"·");"░";"■■■";:LOCATE I-39,8:PRINT A$(I);:NEXT:P=200:I=40:PG#=0:PG#=3:LN=0:FOR I=41 TO 60:LN=I-39
  308. 8400 IF LN=21 THEN I=60:GOSUB 9010:GOTO 8420
  309. 8410 NEXT
  310. 8420 REM =====  START OF FOURTH PAGE  =====
  311. 8430 CLS:GOSUB 2840:GOSUB 3130:GOSUB 3020:FOR I=61 TO 80:LOCATE I-59,3:PRINT USING PR$;I;:LOCATE I-59,8:PRINT STRING$(66,"·");"░";"■■■";:LOCATE I-59,8:PRINT A$(I);:NEXT:P=200:I=1:PG#=0:PG#=4:LN=0:FOR I=61 TO 80:LN=I-59
  312. 8490 IF LN=21 THEN I=80:GOSUB 9010:GOTO 8510
  313. 8500 NEXT
  314. 8510 REM =====  START OF FIFTH EDIT PAGE  =====
  315. 8520 CLS:GOSUB 2840:GOSUB 3130:GOSUB 3020:FOR I=81 TO 100:LOCATE I-79,3:PRINT USING PR$;I;:LOCATE I-79,8:PRINT STRING$(66,"·");"░";"■■■";:LOCATE I-79,8:PRINT A$(I);:NEXT:P=200:I=20:PG#=0:PG#=5:LN=0:FOR I=81 TO 100:LN=I-79
  316. 8570 IF LN=21 THEN I=100:GOSUB 9010:GOTO 8590
  317. 8580 NEXT
  318. 8590 REM =====  START OF SIXTH EDIT PAGE  =====
  319. 8600 CLS:GOSUB 2840:GOSUB 3130:GOSUB 3020:FOR I=101 TO 120:LOCATE I-99,3:PRINT USING PR$;I;:LOCATE I-99,8:PRINT STRING$(66,"·");"░";"■■■";:LOCATE I-99,8:PRINT A$(I);:NEXT:P=60:I=200:PG#=0:PG#=6:LN=0:FOR I=101 TO 120:LN=I-99
  320. 8650 IF LN=21 THEN I=120:P=I:GOSUB 9010:GOTO 8670
  321. 8660 NEXT
  322. 8670 REM =====  START OF SEVENTH EDIT PAGE  =====
  323. 8680 CLS:GOSUB 2840:GOSUB 3130:GOSUB 3020:FOR I=121 TO 140:LOCATE I-119,3:PRINT USING PR$;I;:LOCATE I-119,8:PRINT STRING$(66,"·");"░";"■■■";:LOCATE I-119,8:PRINT A$(I);:NEXT:P=200:I=1:PG#=0:PG#=7:LN=0:FOR I=121 TO 140:LN=I-119
  324. 8740 IF LN=21 THEN I=140:GOSUB 9010:GOTO 8760
  325. 8750 NEXT
  326. 8760 REM =====  START OF EIGTH EDIT PAGE  =====
  327. 8770 CLS:GOSUB 2840:GOSUB 3130:GOSUB 3020:FOR I=141 TO 160:LOCATE I-139,3:PRINT USING PR$;I;:LOCATE I-139,8:PRINT STRING$(66,"·");"░";"■■■";:LOCATE I-139,8:PRINT A$(I);:NEXT:P=200:I=20:PG#=0:PG#=8:LN=0:FOR I=141 TO 160:LN=I-139
  328. 8820 IF LN=21 THEN I=140:GOSUB 9010:GOTO 8840
  329. 8830 NEXT
  330. 8840 REM =====  START OF NINTH EDIT PAGE  =====
  331. 8850 CLS:GOSUB 2840:GOSUB 3130:GOSUB 3020:FOR I=161 TO 180:LOCATE I-159,3:PRINT USING PR$;I;:LOCATE I-159,8:PRINT STRING$(66,"·");"░";"■■■";:LOCATE I-159,8:PRINT A$(I);:NEXT:P=200:I=160:PG#=0:PG#=9:LN=0:FOR I=161 TO 180:LN=I-159
  332. 8900 IF LN=21 THEN I=180:GOSUB 9010:GOTO 8920
  333. 8910 NEXT
  334. 8920 REM =====  START OF TENTH PAGE  =====
  335. 8930 CLS:GOSUB 2840:GOSUB 3130:GOSUB 3020:FOR I=181 TO 200:LOCATE I-179,3:PRINT USING PR$;I;:LOCATE I-179,8:PRINT STRING$(66,"·");"░";"■■■";:LOCATE I-179,8:PRINT A$(I);:NEXT:P=200:I=1:PG#=0:PG#=10:LN=0:FOR I=181 TO P:LN=I-179
  336. 8990 IF LN=21 THEN I=200:P=I:GOSUB 9010:GOTO 9640
  337. 9000 NEXT
  338. 9010 REM =====  IS THIS CORRECT QUERY SUBROUTINE  =====
  339. 9020 GOSUB 3840:LOCATE 23,28,0:COLOR 15:PRINT"Is this PAGE correct <Y/N> ";:COLOR 7,0:GOSUB 6590:IF YN=1 AND MSQ$="ZEBRA"THEN GOSUB 9530:RETURN
  340. 9080 IF YN=1 AND MSQ$="LION"THEN GOSUB 9580:RETURN
  341. 9090 IF YN=2 THEN 9100
  342. 9100 GOSUB 3840:LOCATE 23,20:COLOR 15:PRINT"Re-enter what line? ";:COLOR 7,0:LOCATE 23,50:PRINT" Line # ";:IF PG#<5 THEN FINLEN=2
  343. 9180 IF PG#>5 THEN FINLEN=3
  344. 9190 LOW=48:HIGH=57:GOSUB 6240:GOSUB 3840:L=VAL(FIN$):IF PG#=1 AND L>20 THEN BEEP:GOTO 9010
  345. 9250 IF PG#=2 AND(L<21 OR L>40)THEN BEEP:GOTO 9010
  346. 9260 IF PG#=3 AND(L<41 OR L>60)THEN BEEP:GOTO 9010
  347. 9270 IF PG#=4 AND(L<61 OR L>80)THEN BEEP:GOTO 9010
  348. 9280 IF PG#=5 AND(L<81 OR L>100)THEN BEEP:GOTO 9010
  349. 9290 IF PG#=6 AND(L<101 OR L>120)THEN BEEP:GOTO 9010
  350. 9300 IF PG#=7 AND(L<121 OR L>140)THEN BEEP:GOTO 9010
  351. 9310 IF PG#=8 AND(L<141 OR L>160)THEN BEEP:GOTO 9010
  352. 9320 IF PG#=9 AND(L<161 OR L>180)THEN BEEP:GOTO 9010
  353. 9330 IF PG#=10 AND(L<181 OR L>200)THEN BEEP:GOTO 9010
  354. 9340 IF PG#=1 THEN NL=L
  355. 9350 IF PG#=2 THEN NL=L-20
  356. 9360 IF PG#=3 THEN NL=L-40
  357. 9370 IF PG#=4 THEN NL=L-60
  358. 9380 IF PG#=5 THEN NL=L-80
  359. 9390 IF PG#=6 THEN NL=L-100
  360. 9400 IF PG#=7 THEN NL=L-120
  361. 9410 IF PG#=8 THEN NL=L-140
  362. 9420 IF PG#=9 THEN NL=L-160
  363. 9430 IF PG#=10 THEN NL=L-180
  364. 9440 I=L:LOCATE 23,60:PRINT INPTR$;:LOCATE 23,60:PRINT L;:LOCATE NL+1,8,1:COLOR 15:PRINT A$(I);:COLOR 7,0:LOCATE NL+1,8,1,0,7:FINLEN=70:GOSUB 6400:IF FIN$=""THEN A$(I)=A$(I)ELSE A$(I)=FIN$
  365. 9500 LOCATE NL+1,8,0,13,12:COLOR 7,0:PRINT STRING$(70,"·");:LOCATE NL+1,8,0:PRINT A$(I);:GOTO 9010
  366. 9530 REM =====  QUERY ON NEXT PAGE OR QUIT INPUT =====
  367. 9540 GOSUB 3840:LOCATE 23,7,0:COLOR 15:PRINT"<PRESS 1> To Continue Processing";:LOCATE 23,46,0:PRINT"<PRESS 2> To Terminate Input";:COLOR 7:LOCATE 23,40,0:FINLEN=1:LOW=49:HIGH=50:GOSUB 6240:ON VAL(INPTR$)GOTO 9570,9630
  368. 9570 RETURN
  369. 9580 REM =====  QUERY ON NEXT PAGE OR QUIT EDIT =====
  370. 9590 GOSUB 3840:LOCATE 23,7,0:COLOR 15:PRINT"<PRESS 1> To Continue Editing";:LOCATE 23,46,0:PRINT"<PRESS 2> To Terminate Edit";:COLOR 7:LOCATE 23,40,0:FINLEN=1:LOW=49:HIGH=50:GOSUB 6240:ON VAL(INPTR$)GOTO 9570,9630
  371. 9620 RETURN
  372. 9630 GOTO 9640
  373. 9640 REM =====  SAVE TO DISK QUERY ROUTINE  =====
  374. 9650 CLS:GOSUB 2190:LOCATE 21,20:COLOR 15:PRINT"SAVE to DISK <Y/N> ";:COLOR 7,0:GOSUB 6590:IF YN=1 THEN 5630
  375. 9720 IF YN=2 THEN 9730
  376. 9730 REM =====  CHANCE TO REVIEW INPUT FILES  =====
  377. 9740 GOTO 3990
  378. 9750 REM =====  STARTING OUTPUT LOOP =====
  379. 9760 REM =====  DISPLAYS PAGE 1 - 1ST 20 LINES =====
  380. 9770 CLS:GOSUB 2840:GOSUB 3130:LOCATE 2,7,0:FOR I=1 TO 20:LOCATE,7:PRINT A$(I):NEXT:IF P-1=<20 THEN GOSUB 3840:GOTO 10950
  381. 9860 GOSUB 3840:LOCATE 23,30:PRINT"<PRESS> ENTER to Continue!";:GOSUB 6670:REM =====  DISPLAYS PAGE 2 - 2ND 20 LINES =====
  382. 9910 CLS:GOSUB 2840:GOSUB 3130:LOCATE 2,7,0:FOR I=21 TO 40:LOCATE,7:PRINT A$(I):NEXT:IF P-1=<40 THEN GOSUB 3840:GOTO 10950
  383. 9980 GOSUB 3840:LOCATE 23,30:PRINT"<PRESS> ENTER to Continue!";:GOSUB 6670:REM =====  DISPLAYS PAGE 3 - 3rd 20 LINES =====
  384. 10030 CLS:GOSUB 2840:GOSUB 3130:LOCATE 2,7,0:FOR I=41 TO 60:LOCATE,7:PRINT A$(I):NEXT:IF P-1=<60 THEN GOSUB 3840:GOTO 10950
  385. 10100 GOSUB 3840:LOCATE 23,30:PRINT"<PRESS> ENTER to Continue!";:GOSUB 6670:REM =====  DISPLAYS PAGE 4 - 4th 20 LINES =====
  386. 10150 CLS:GOSUB 2840:GOSUB 3130:LOCATE 2,7,0:FOR I=61 TO 80:LOCATE,7:PRINT A$(I):NEXT:IF P-1=<80 THEN GOSUB 3840:GOTO 10950
  387. 10220 GOSUB 3840:LOCATE 23,30:PRINT"<PRESS> ENTER to Continue!";:GOSUB 6670:REM =====  DISPLAYS PAGE 5 - 5th 20 LINES =====
  388. 10270 CLS:GOSUB 2840:GOSUB 3130:LOCATE 2,7,0:FOR I=81 TO 100:LOCATE,7:PRINT A$(I):NEXT:IF P-1=<100 THEN GOSUB 3840:GOTO 10950
  389. 10340 GOSUB 3840:LOCATE 23,30:PRINT"<PRESS> ENTER to Continue!";:GOSUB 6670:REM =====  DISPLAYS PAGE 6 - 6th 20 LINES =====
  390. 10390 CLS:GOSUB 2840:GOSUB 3130:LOCATE 2,7,0:FOR I=101 TO 120:LOCATE,7:PRINT A$(I):NEXT:IF P-1=<120 THEN GOSUB 3840:GOTO 10950
  391. 10460 GOSUB 3840:LOCATE 23,30:PRINT"<PRESS> ENTER to Continue!";:GOSUB 6670:REM =====  DISPLAYS PAGE 7 - 7th 20 LINES =====
  392. 10510 CLS:GOSUB 2840:GOSUB 3130:LOCATE 2,7,0:FOR I=121 TO 140:LOCATE,7:PRINT A$(I):NEXT:IF P-1=<140 THEN GOSUB 3840:GOTO 10950
  393. 10580 GOSUB 3840:LOCATE 23,30:PRINT"<PRESS> ENTER to Continue!";:GOSUB 6670:REM =====  DISPLAYS PAGE 8 - 8th 20 LINES =====
  394. 10630 CLS:GOSUB 2840:GOSUB 3130:LOCATE 2,7,0:FOR I=141 TO 160:LOCATE,7:PRINT A$(I):NEXT:IF P-1=<160 THEN GOSUB 3840:GOTO 10950
  395. 10700 GOSUB 3840:LOCATE 23,30:PRINT"<PRESS> ENTER to Continue!";:GOSUB 6670:REM =====  DISPLAYS PAGE 9 - 9th 20 LINES =====
  396. 10750 CLS:GOSUB 2840:GOSUB 3130:LOCATE 2,7,0:FOR I=161 TO 180:LOCATE,7:PRINT A$(I):NEXT:IF P-1=<180 THEN GOSUB 3840:GOTO 10950
  397. 10820 GOSUB 3840:LOCATE 23,30:PRINT"<PRESS> ENTER to Continue!";:GOSUB 6670:REM =====  DISPLAYS PAGE 10 - LAST 20 LINES =====
  398. 10870 CLS:GOSUB 2840:GOSUB 3130:LOCATE 2,7,0:FOR I=181 TO 200:LOCATE,7:PRINT A$(I):NEXT:IF P-1=<200 THEN GOSUB 3840:GOTO 10950
  399. 10940 GOSUB 3840
  400. 10950 LOCATE 23,10:PRINT"End of ";:COLOR 15:PRINT FILESPEC$;:COLOR 7,0:PRINT" File":LOCATE 23,45:PRINT"<PRESS> ANY KEY to Continue";
  401. 10990 RES$=INKEY$:IF RES$=""THEN 10990
  402. 11010 GOTO 3990
  403. 11020 REM =====  EasyRite HARD COPY OPTIONS =====
  404. 11030 CLS:GOSUB 2120:GOSUB 2980:LOCATE 3,27:PRINT"EasyRite HARD COPY SELECTOR";:LOCATE 4,27:COLOR 7,0:PRINT"═══════════════════════════";:LOCATE 5,34:PRINT"C H O I C E S":LOCATE 6,34:PRINT"═════════════";
  405. 11150 REM =====  MODIFIED PRINT OPTIONS INCLUDING DOUBLE SPACE =====
  406. 11160 LOCATE 8,23:PRINT"Standard ELITE (10 Char/Inch).....1";:LOCATE 9,23:PRINT"Emphasized ELITE (10 Char/Inch)...2";:LOCATE 10,23:PRINT"Emphasised ELITE (Double Space)...3";:LOCATE 11,23:PRINT"ITALICS Print.(EPSON CODE)........4";
  407. 11200 LOCATE 12,23:PRINT"COMPRESSED Print.(EPSON CODE).....5";:LOCATE 13,23:PRINT"Read DISK DIRECTORIES.............6";:LOCATE 14,23:PRINT"Reset Parallel Printer Port.......7";:LOCATE 15,23:PRINT"Return to CONTROL Menu............8";:LOCATE 16,23
  408. 11280 PRINT"QUIT the program..................9";:GOSUB 2330:LOCATE 21,20:PRINT"Select and <PRESS> a Number";
  409. 11320 GOSUB 3760:GOSUB 4830:FINLEN=1:LOW=49:HIGH=57:GOSUB 6240:IF INPTR$=CHR$(13)THEN SOUND 400,3:GOTO 11320
  410. 11390 ON VAL(INPTR$)GOTO 11410,11460,11510,11560,11610,4260,11400,3990,13260
  411. 11400 GOSUB 1770:GOTO 11020
  412. 11410 REM =====  STANDARD ELITE (10 PITCH) PRINT =====
  413. 11420 CLS:WIDTH"LPT1:",80:GOSUB 2700:GOSUB 11660:GOTO 12100
  414. 11460 REM =====  EMPHASIZED ELITE (10 PITCH) PRINT =====
  415. 11470 CLS:WIDTH"LPT1:",80:GOSUB 2700:GOSUB 11660:GOTO 12270
  416. 11510 REM =====  EMPHASIZED ELITE (DOUBLE SPACE) =====
  417. 11520 CLS:WIDTH"LPT1:",80:GOSUB 2700:GOSUB 11660:GOTO 12440
  418. 11560 REM =====  ALL LINES ITALICS =====
  419. 11570 CLS:WIDTH"LPT1:",132:GOSUB 2700:GOSUB 11660:GOTO 12610
  420. 11610 REM =====  ALL LINES COMPRESSED =====
  421. 11620 CLS:WIDTH"LPT1:",132:GOSUB 2700:GOSUB 11660:GOTO 12800
  422. 11660 REM =====  QUERY ON PRINTED PAGE NUMBERS =====
  423. 11670 LOCATE 10,23:PRINT"DO YOU WANT PRINTED PAGES NUMBERED":LOCATE 13,33:PRINT"<PRESS> Y or N":GOSUB 6590:IF YN=1 THEN LLN$="TRUE
  424. 11710 IF YN=1 THEN LLK$="PAGER":GOSUB 2700:GOTO 11840
  425. 11720 IF YN=2 THEN LLN$="FALSE
  426. 11730 GOSUB 2700:REM =====  QUERY ON GOING TO TOP OF FORM AFTER PRINTING =====
  427. 11750 FOR E=9 TO 15:LOCATE E,10:PRINT SPC(50):NEXT:LOCATE 10,13:PRINT"AFTER PRINTING, DO YOU WANT PAPER ADVANCED TO TOP OF FORM":LOCATE 13,33:PRINT"<PRESS> Y or N":GOSUB 6590:FOR E=9 TO 15:LOCATE E,10:PRINT SPC(60):NEXT:IF YN=1 THEN LLK$="PAGER
  428. 11810 IF YN=2 THEN LLK$="STOPPG
  429. 11820 CLS:GOSUB 2700:REM =====  LIST PRINT CHOICE MENU  =====
  430. 11840 FOR E=9 TO 15:LOCATE E,20:PRINT SPC(50):NEXT:LOCATE 6,33:PRINT"  R E A D Y  ";:LOCATE 7,33:PRINT"  ═════════  ";:LOCATE 9,25:COLOR 15:PRINT"Check Printer ON and SELECTED!";:COLOR 7,0:LOCATE 10,10:PRINT STRING$(50,32);:LOCATE 11,25
  431. 11940 PRINT"CHECK Paper: TOP of FORM (TOF)";:LOCATE 13,25:PRINT"  <PRESS> Space Bar:  PRINT";:LOCATE 15,25:PRINT"  <PRESS> Return:      MENU";
  432. 11990 RES$=INKEY$:IF RES$=""THEN 11990
  433. 12010 IF RES$=CHR$(32)THEN RETURN
  434. 12020 IF RES$=CHR$(13)THEN 11020
  435. 12030 REM =====  PRIMARY LINE COUNTER AND PAGE ADVANCE  =====
  436. 12040 IF LLN$="TRUE"AND LLK$="PAGER"THEN 12070
  437. 12050 IF LLN$="FALSE"AND LLK$="PAGER"THEN 12080
  438. 12060 IF LLN$="FALSE"AND LLK$="STOPPG"THEN 12090
  439. 12070 IF PL=>59 THEN LPRINT:LPRINT TAB(PTC)PN:PN=PN+1
  440. 12080 IF PL=>59 THEN LPRINT CHR$(12);:FOR LA=1 TO 5:LPRINT:NEXT:PL=5
  441. 12090 RETURN
  442. 12100 REM =====  STANDARD 10 PITCH ELITE PRINT =====
  443. 12110 PT=8:PTC=40:LPRINT CHR$(27)+"@";:PN=1:PL=0:FOR LA=1 TO 5:LPRINT:NEXT:WIDTH"LPT1:",80:PL=5:FOR I=1 TO P:IF A$(I)="END"OR A$(I)="end"THEN 12210
  444. 12180 LPRINT TAB(PT)A$(I):PL=PL+1:GOSUB 12030:NEXT
  445. 12210 IF LLN$="TRUE"THEN 12230
  446. 12220 IF LLN$="FALSE"THEN 12240
  447. 12230 FOR PA=1 TO 61-PL:LPRINT:NEXT:LPRINT TAB(PTC)PN;:LPRINT CHR$(12);:GOSUB 12980:GOTO 12100
  448. 12240 IF LLK$="STOPPG"THEN GOSUB 12980:GOTO 12100
  449. 12250 LPRINT CHR$(12);:GOSUB 12980:GOTO 12100
  450. 12270 REM =====  EMPHASIZED 10 PITCH PRINT =====
  451. 12280 PT=8:PTC=40:LPRINT CHR$(27)CHR$(64);CHR$(27)CHR$(69);:PN=1:PL=0:FOR LA=1 TO 5:LPRINT:NEXT:WIDTH"LPT1:",132:PL=5:FOR I=1 TO P:IF A$(I)="END"OR A$(I)="end"THEN 12380
  452. 12350 LPRINT TAB(PT)A$(I):PL=PL+1:GOSUB 12030:NEXT
  453. 12380 IF LLN$="TRUE"THEN 12400
  454. 12390 IF LLN$="FALSE"THEN 12410
  455. 12400 FOR PA=1 TO 61-PL:LPRINT:NEXT:LPRINT TAB(PTC)PN;:LPRINT CHR$(12);:GOSUB 12980:GOTO 12270
  456. 12410 IF LLK$="STOPPG"THEN GOSUB 12980:GOTO 12270
  457. 12420 LPRINT CHR$(12);:GOSUB 12980:GOTO 12270
  458. 12440 REM =====  STANDARD 10 PITCH ELITE/EMPHASIZED DOUBLE SPACE PRINT =====
  459. 12450 PT=8:PTC=40:LPRINT CHR$(27)CHR$(64);CHR$(27)CHR$(69);:PN=1:PL=0:FOR LA=1 TO 5:LPRINT:NEXT:WIDTH"LPT1:",80
  460. 12490 PL=5:FOR I=1 TO P:IF A$(I)="END"OR A$(I)="end"THEN 12550
  461. 12520 LPRINT TAB(PT)A$(I):LPRINT:PL=PL+2:GOSUB 12030:NEXT
  462. 12550 IF LLN$="TRUE"THEN 12570
  463. 12560 IF LLN$="FALSE"THEN 12580
  464. 12570 FOR PA=1 TO 61-PL:LPRINT:NEXT:LPRINT TAB(PTC)PN;:LPRINT CHR$(12);:GOSUB 12980:GOTO 12440
  465. 12580 IF LLK$="STOPPG"THEN GOSUB 12980:GOTO 12440
  466. 12590 LPRINT CHR$(12);:GOSUB 12980:GOTO 12440
  467. 12610 REM =====  STANDARD ITALICS/EMPHASISED PRINT (EPSON CODE) =====
  468. 12620 PT=8:PTC=40:LPRINT CHR$(27)+"@";:LPRINT CHR$(27)+"E";:LPRINT CHR$(27);CHR$(52):PN=1:PL=0:FOR LA=1 TO 5:LPRINT:NEXT:WIDTH"LPT1:",132:PL=5:FOR I=1 TO P:IF A$(I)="END"OR A$(I)="end"THEN 12740
  469. 12710 LPRINT TAB(PT)A$(I):PL=PL+1:GOSUB 12030:NEXT
  470. 12740 IF LLN$="TRUE"THEN 12760
  471. 12750 IF LLN$="FALSE"THEN 12770
  472. 12760 FOR PA=1 TO 61-PL:LPRINT:NEXT:LPRINT TAB(PTC)PN;:LPRINT CHR$(12);:GOSUB 12980:GOTO 12610
  473. 12770 IF LLK$="STOPPG"THEN GOSUB 12980:GOTO 12610
  474. 12780 LPRINT CHR$(12);:GOSUB 12980:GOTO 12610
  475. 12800 REM =====  COMPRESSED PRINT -16.5 Char/Inch (EPSON CODE) =====
  476. 12810 PT=35:PTC=65:LPRINT CHR$(27)+"@";:LPRINT CHR$(15);:PN=1:PL=0:FOR LA=1 TO 5:LPRINT:NEXT:WIDTH"LPT1:",132:PL=5:FOR I=1 TO P:IF A$(I)="END"OR A$(I)="end"THEN 12920
  477. 12890 LPRINT TAB(PT)A$(I):PL=PL+1:GOSUB 12030:NEXT
  478. 12920 IF LLN$="TRUE"THEN 12490
  479. 12930 IF LLN$="FALSE"THEN 12950
  480. 12940 FOR PA=1 TO 61-PL:LPRINT:NEXT:LPRINT TAB(PTC)PN;:LPRINT CHR$(12);:GOSUB 12980
  481. 12950 IF LLK$="STOPPG"THEN GOSUB 12980:GOTO 12800
  482. 12960 LPRINT CHR$(12);:GOSUB 12980:GOTO 12800
  483. 12980 REM =====  OPTION SUBROUTINE IN PRINT SEQUENCE  =====
  484. 12990 LPRINT CHR$(27)+"@";:CLS:GOSUB 2190:GOSUB 2330:LOCATE 20,13:PRINT"To REPRINT this Choice     <PRESS> 1";:LOCATE 21,13:PRINT"For a DIFFERENT Choice     <PRESS> 2";:LOCATE 22,13:PRINT"To CONTROL Menu            <PRESS> 3";
  485. 13090 GOSUB 3760:GOSUB 4830:FINLEN=1:LOW=49:HIGH=51:GOSUB 6240:NL=1:IF INPRT$=CHR$(13)THEN SOUND 400,3:GOTO 13090
  486. 13170 ON VAL(INPTR$)GOTO 13180,11020,3990
  487. 13180 RETURN
  488. 13190 END
  489. 13200 REM =====  QUIT PROGRAM & REINSTATE CURSOR CONTROL =====
  490. 13210 LOCATE,,,0,7:DEF SEG:POKE 91,1:POKE 92,25:CLS:END
  491. 13260 REM =====  FINAL SCREEN DISPLAY =====
  492. 13270 CLS:GOSUB 2120:GOSUB 2980:GOSUB 2330:GOSUB 3730:GOSUB 4830:LOCATE 6,19:COLOR 15:PRINT"Have you SAVED your OLD, NEW, or EDITED File?":LOCATE 8,19:PRINT"Your FILE will be erased from Memory on QUIT!":COLOR 7,0:LOCATE 11,19
  493. 13380 PRINT"    Return to CONTROL Menu    <PRESS>   1";:LOCATE 13,19:PRINT"    Run LablFile Program      <PRESS>   2";:LOCATE 15,19:PRINT"    Thanks!  Bye!      QUIT - <PRESS>   3";:LOCATE 21,65,0
  494. 13420 FINLEN=1:LOW=49:HIGH=51:GOSUB 6240:IF INTPRT$=CHR$(13)THEN SOUND 400,3:GOTO 13420
  495. 13470 ON VAL(INPTR$)GOTO 3990,13500,13200
  496. 13480 LOCATE,,,0,7:END
  497. 13500 RUN"LABLFILE
  498. 13510 REM =====  CLEAR FILE AND RETURN TO CONTROL MENU =====
  499. 13520 CLS:LOCATE 10,30:PRINT"FILE CLEARED":FOR TD=1 TO 1000:NEXT:RETURN
  500. 13570 END
  501.